   2 .G0LF
  10 clear ;BC=130;FC=5;NT=0;&(0)=178;&(1)=178;&(2)=140;&(3)=140;CY=24;print "   G 0 L F
  20 CY=-24;input " # 0F PLAYERS?:"N;for Z=1to N;@(Z)=0;next Z;B=0;for H=1to 9;if H>1gosub 440
  22 for P=1to N;U=0;J=0
  25 if P=1G=13+rnd (50);I=15+rnd (15);T=4+rnd (50);R=13+rnd (50);S=9+rnd (60);B=B+Idiv 5
  30 clear ;&(9)=20;gosub 300;Y=-16;gosub 310;T=T+rnd (22);Y=Y-rnd (9);gosub 310;Y=0;gosub 320;Y=10;gosub 330
  40 E=40;F=-41;box E,F,1,1,1;print "    H0LE",#2,H;CY=30;print " PAR=",#1,Idiv 5,#4,Imul 20,"YDS",
  50 W=rnd (4);M=rnd (25);CX=-71;CY=21;print "WIND:",;TV=93+W;print #3,M,"MPH",;CX=-71;CY=9;print "PLAYER/SC0RE",
  60 CX=-55;CY=0;print #1,P,#7,U
  70 A=-KN(1)div 16+8
  90 X=2;Y=2;gosub 280+A;line -40,-20,4;box -40,-20,60,30,2;line Xmul 6-40,Ymul 6-20,1;C=C+JX(1);if C>9C=1
 100 if C<1C=9
 110 CX=-68;CY=-40;print "CLUB",#2,C,;if C=1print "-W00D",;goto 130
 120 print "-IR0N",
 130 if TR(1)=0goto 70
 140 U=U+1;NT=3;MU=70;NT=0;if Jgoto 370
 150 for Z=1to 2mul (10-C);if Z#11goto 210
 160 D=0;if M>9D=1
 165 if M>19D=2
 170 if W=1Y=Y+D
 180 if W=2X=X-D
 190 if W=3Y=Y-D
 200 if W=4X=X+D
 210 E=E+X;F=F+Y;box E,F,1,1,3;if E>3if E<79if F<43if F>-43J=0;goto 240
 230 goto 460
 240 if E>G-9if E<G+8if F>I-8if F<I+8J=1
 250 if J=0if PX(E,F)=0goto 460
 260 next Z;if Jgoto 340
 270 goto 60
 281 Y=0;return 
 282 Y=1;return 
 283 return 
 284 X=1;return 
 285 X=0;return 
 286 X=-1;return 
 287 X=-2;return 
 288 X=-2;Y=1;return 
 289 X=-2;Y=0;return 
 290 X=-2;Y=-1;return 
 291 X=-2;Y=-2;return 
 292 X=-1;Y=-2;return 
 293 X=0;Y=-2;return 
 294 X=1;Y=-2;return 
 295 Y=-2;return 
 296 Y=-1;return 
 300 box G,I,4,12,1;box G,I,10,10,1;box G,I,14,8,1;box G,I,16,4,1;return 
 310 box T,Y,2,10,1;box T,Y+2,4,2,1;box T,Y,6,2,1;box T,Y-2,8,2,1;return 
 320 box R,Y,2,18,1;box R,Y,6,14,1;box R,Y,10,10,1;box R,Y,14,6,1;box R,Y,18,2,1;return 
 330 box S,Y,12,5,1;return 
 340 box 41,0,78,88,2;box 41,0,16,48,1;box 41,0,40,40,1;box 41,0,56,32,1;box 41,0,72,16,1;K=20+rnd (36);L=rnd (16)-8
 350 box K,L,3,3,2;E=41+(E-G)mul 4;F=(F-I)mul 4;box E,F,1,1,3;box 41,0,78,88,3;if ABS(E-K)<2if ABS(F-L)<2goto 420
 360 goto 60
 370 for Z=1to 2mul (10-C)
 380 E=E+X;F=F+Y;box E,F,1,1,3;if ABS(E-K)<2if ABS(F-L)<2goto 420
 390 if E>3if E<79if F<43if F>-43goto 410
 400 goto 460
 410 next Z;goto 60
 420 CX=27;CY=-34;NT=5;print " SUNK";NT=0;@(P)=@(P)+U;gosub 450;next P;next H
 440 clear ;&(9)=50;print ;print " P A R =",#3,B;for Z=1to N;print ;print " PLAYER",#2,Z,":",#4,@(Z),#7,@(Z)-B;next Z
 450 if TR(1)return 
 455 goto 450
 460 NT=9;CX=-57;CY=-15;print "PENALTY";NT=0;U=U+1;goto 60
>:return 
